﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Runtime.Serialization;

namespace simplify.json.response
{
    /// <summary>
    /// Contains a result set from calling GetAllowedEntries() as well as metadata about the result set
    /// </summary>
    public class GetAllowedEntriesResponse : JSONResponse
    {
        public GetAllowedEntriesResponse()
        {
            AllowedEntries = new List<AllowedEntry>();
        }

        /// <summary>
        /// The size of the original unpaginated result set
        /// </summary>
        [DataMember]
        public int TotalResults
        {
            get;
            set;
        }

        /// <summary>
        /// The page number of this page (it may not be the same as what was passed in)
        /// </summary>
        public int PageNumber
        {
            get;
            set;
        }

        /// <summary>
        /// The records per page that was used to get this page
        /// </summary>
        public int RecordsPerPage
        {
            get;
            set;
        }

        /// <summary>
        /// The NPA filter that was used to get this page
        /// </summary>
        public short? NPAFilter
        {
            get;
            set;
        }

        /// <summary>
        /// The state filter that was used to get this page
        /// </summary>
        public string StateFilter
        {
            get;
            set;
        }

        /// <summary>
        /// The page of results that was returned from the call to GetAllowedEntries()
        /// </summary>
        public List<AllowedEntry> AllowedEntries
        {
            get;
            set;
        }
    }
}